Just refspace fixes - #4539
Merged
Merged
Conversation
I don't think this is a slow one but it's worth logging.
I'm not sure how we had the wrong data here.
Rochi found bugs in our higher-order Pyramids reference elements, and these tests catch them.
Member
Author
|
Shoot, did I get the restriction of those unit tests into the wrong commit? |
rochi00
reviewed
Sep 2, 2026
rochi00
left a comment
Contributor
There was a problem hiding this comment.
The fixes for the master_points are correct. The values inside get_refspace_nodes() are also correct.
Member
Author
|
Test failure is downstream and unrelated |
Open
rochi00
added a commit
to rochi00/libmesh
that referenced
this pull request
Sep 3, 2026
Only the vertices' reference coordinates are tabulated: every higher-order node sits at the centroid of its subentity's vertices (mid-edge nodes at edge midpoints, face nodes at face-corner centroids, interior nodes at the vertex centroid), so try_reference_node() computes them through the same side/edge tables instead of duplicating ~500 lines of coordinates. The cubic EDGE4 trisection nodes are the one true exception. This derivation is what flagged the Pyramid reference-point inconsistencies fixed in libMesh#4539.
rochi00
added a commit
to rochi00/libmesh
that referenced
this pull request
Sep 3, 2026
Only the vertices' reference coordinates are tabulated: every higher-order node sits at the centroid of its subentity's vertices (mid-edge nodes at edge midpoints, face nodes at face-corner centroids, interior nodes at the vertex centroid), so try_reference_node() computes them through the same side/edge tables instead of duplicating ~500 lines of coordinates. The cubic EDGE4 trisection nodes are the one true exception. This derivation is what flagged the Pyramid reference-point inconsistencies fixed in libMesh#4539.
rochi00
added a commit
to rochi00/libmesh
that referenced
this pull request
Sep 3, 2026
Only the vertices' reference coordinates are tabulated: every higher-order node sits at the centroid of its subentity's vertices (mid-edge nodes at edge midpoints, face nodes at face-corner centroids, interior nodes at the vertex centroid), so try_reference_node() computes them through the same side/edge tables instead of duplicating ~500 lines of coordinates. The cubic EDGE4 trisection nodes are the one true exception. This derivation is what flagged the Pyramid reference-point inconsistencies fixed in libMesh#4539.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
I thought my consolidation in #4538 was very clever, but multithreaded recipes disagree, so let's just see if we can at least merge the fixes and new unit tests without it.